Nuprl Lemma : ecl-1-2-compat 11,40

i:Id, ds:fpf(Id; x.Type), da:fpf(Knd; k.Type), A:ecl(dsda), upd:update-spec(dsda), T,T:Type.
update-spec-decl(updds)
 (T = ecl-trans-type(ecl-trans(A)))
 ((fpf-dom(id-deq; mkid{ecl:ut2}; ds)))
 R-compat{i:l}
 R-compat(ecl-machine1{ecl:ut2}
 R-compat(ecl-machine1(idsdaA);
 R-compat(ecl-machine2(i;
 R-compat(ecl-machine2(ds;
 R-compat(ecl-machine2(da;
 R-compat(ecl-machine2(mkid{ecl:ut2};
 R-compat(ecl-machine2(T;
 R-compat(ecl-machine2(ecl-trans-ks(ecl-trans(A));
 R-compat(ecl-machine2(ecl-trans-a(ecl-trans(A));
 R-compat(ecl-machine2(upd)) 
latex


Definitionsb, fpf-dom(eqxf), top, ecl-machine1{$ecl:ut2}(idsdaA), ecl-trans(x), ecl-trans-tuple{i:l}(dsda), x:A  B(x), ecl-trans-type(A), ecl-trans-ks(v), ecl-trans-a(v), spreadn(ua,b,c,d,e,f,g.v(a;b;c;d;e;f;g)), R-state-var-init(idsdaxTvkstr), ecl-machine2(idsdaxTksaupd), , , inl x , x.A(x), list_accum(x,a.f(x;a); yl), let x,y = A in B(x;y), if b then t else f fi , f(a), fpf-cap(feqxz), product-deq(ABab), Kind-deq, <ab>, [], Knd, decl-state(ds), ma-valtype(dak), Rall(Lx.R(x)), fpf-ap(feqx), {x:AB(x)} , (x  l), fpf-join(eqfg), id-deq, mkid{$x:ut2}, fpf-single(xv), xt(x), update-spec-vars(upd), Rplus(leftright), Rinit(locTxv), R-state-var(idsdaxTkstr), P  Q, strong-subtype(AB), x:AB(x), R-compat{i:l}(AB), x:AB(x), type List, A, update-spec-decl(updds), update-spec(dsda), ecl(dsda), fpf(Aa.B(a)), Id, Type, prop{i:l}, s = t, t  T, , R-has-loc(Ri), subtype(ST), grp_car(g), l[i], ||as||, A  B, #$n, p-outcome(p), P  Q, decision, eqof(d), es-dt(lda), x,yt(x;y), rationals, decl-type{i:l}(dsx), A c B, es realizer ind Reffect compseq tag def, Rnone, R-lnk-tags(dsdaltgsksg), Rlist(L), inr x , R-loc(R), Rds(R), Rda(R), R-base-domain(R), eq_bd(pq), R-frame-compat(AB), R-interface-compat(AB), Rplus?(x1), Rplus-left(x1), Rplus-right(x1), Rnone?(x1), Rframe?(x1), Rframe-x(x1), Rframe-L(x1), Raframe?(x1), Raframe-k(x1), Raframe-L(x1), Reffect-ds(x1), Rsframe?(x1), Rsframe-lnk(x1), Rsframe-tag(x1), Rsends-g(x1), Rsframe-L(x1), Rbframe?(x1), Rbframe-k(x1), Rbframe-L(x1), Rsends-ds(x1), Rpre?(x1), Rrframe?(x1), Rrframe-x(x1), Rpre-ds(x1), Rpre-a(x1), Rrframe-L(x1), Reffect-knd(x1), Reffect-T(x1), Rsends?(x1), Rsends-knd(x1), Rsends-l(x1), Rsends-dt(x1), Rsends-T(x1), es realizer ind, left + right, Unit, , tt, ff, sqequal(st), sq_type(T), P  Q, P  Q, P  Q, IdLnk, EqDecider(T), isect(Ax.B(x)), fpf-empty, bor(pq), band(pq), bimplies(pq), b, deq-member(eqxL), eq_id(ab), eq_lnk(ab), qeq(rs), q_less(ab), q_le(rs), eq_atom{$n:n}(xy), dcdr-to-bool(d), grp_blt(gab), x f y, set_blt(pab), null(as), eq_atom(xy), (i = j), i j, i <z j, eq_bool(pq), R-discrete_compat(AB), Reffect-discrete(A), Rinit-discrete(A), Reffect?(x1), Reffect-x(x1), Reffect-f(x1), Rinit?(x1), Rinit-x(x1), Rinit-v(x1), es realizer ind Rframe compseq tag def, es realizer ind Rinit compseq tag def, True, R-Feasible{i:l}(R), fpf-compatible(Aa.B(a); eqfg), , a < b, void, rec(x.A(x)), locl(a), guard(T), rcv(l,tg), Reffect(locdskndTxf), Rframe(locTxL), es_realizer{i:l}, case b of inl(x) => s(x) | inr(y) => t(y), x:AB(x), False, atom{$n:n}, t.1, t.2, x(s), T, fpf-sub(Aa.B(a); eqfg)
Lemmasfpf-single-dom, or functionality wrt iff, subtype rel self, fpf-cap-join-subtype, subtype rel dep function, ext-eq weakening, subtype rel weakening, nat properties, fpf-sub weakening, fpf-sub-join-left2, subtype-fpf-cap-top, deq wf, squash wf, list accum wf, product-deq wf, pi2 wf, pi1 wf, R-discrete compat wf, Rframe wf, fpf-empty wf, Kind-deq wf, fpf-empty-compatible-right, assert-eq-id, rev implies wf, iff wf, Id sq, guard wf, fpf-compatible-singles, fpf-compatible-symmetry, true wf, fpf-compatible wf, bool wf, eq id wf, bnot wf, not functionality wrt iff, assert of bnot, iff transitivity, eqff to assert, eqtt to assert, R-compat-symmetry, R-compat-disjoint, btrue wf, Reffect wf, ma-valtype wf, fpf-single wf, fpf-compatible-single, fpf-single wf3, fpf-compatible-join2, fpf-cap wf, decl-type wf, ifthenelse wf, eqof eq btrue, fpf-cap-single, fpf-join-cap-sq, decl-state wf, rationals wf, R-compat-Rall2, IdLnk wf, R-compat-Rplus-sq, false wf, fpf-join-dom2, R-state-var-compat-unequal-loc, fpf-compatible-single-iff, fpf-compatible-self, fpf-compatible-join, fpf-compatible-single2, select wf, length wf1, nat wf, R-state-var-compat3, R-compat-Rall, R-compat wf, Rplus wf, R-state-var wf, Rinit wf, Rall wf, Id wf, update-spec-vars wf, fpf-join wf, id-deq wf, fpf-ap wf, l member wf, ecl-trans-tuple wf, ecl-trans wf, fpf wf, Knd wf, ecl wf, update-spec wf, update-spec-decl wf, ecl-trans-type wf, member wf, fpf-trivial-subtype-top, subtype rel wf, top wf, fpf-dom wf, assert wf, not wf, ecl-machine1 wf, ecl-machine2 wf

origin